//
//  main.m
//  08_类的拓展
//
//  Created by dllo on 16/7/13.
//  Copyright © 2016年 LST. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NSObject+SayHello.h"
#import "NSString+AddString.h"
#import "Student.h"
#import "BuyPerson.h"
int main(int argc, const char * argv[]) {
    
    /* 类的扩展的方式 
     1.Category(类目)
     * 1> Category的创建
     * 通过Objective-C file创建
     * 会产生两个文件.h.m
     * 文件名会以类名 + Category名
     * 2> Category的使用
     * 向对应文件中添加需要添加方法
     * 引入到你对应要使用的位置
     */
    NSObject *objc = [[NSObject alloc] init];
    [objc sayHello];
    NSString *addString = @"asd";
    NSString *str = [addString addStringHader];
    NSLog(@"%@", str);
    
    /* 延展 Extension
     * 一种定义在.m中, 其中声明一些私有的属性
     * 保持.h的整洁
     */
    
    /* 代理设计模式(协议delegate)
     * 举例:海外代购
     
     */
    // 6.设置代理人
    // 委托方
    Student *stu = [[Student alloc] init];
    // 代购
    BuyPerson *buy = [[BuyPerson alloc] init];
    stu.delegate = buy;
    [stu seeWeChat];
    return 0;
}





